#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>


int main(int argc, char const *argv[]) // ./client  对方IP  对方PORT
{
    if(argc != 3)
    {
        printf("请指定对方IP和端口\n");
        exit(0);
    }

    // 1，创建UDP通信端点
    int sockfd = socket(AF_INET, SOCK_DGRAM, 0);


    // 2, 准备对方的地址
    struct sockaddr_in peeraddr;
    bzero(&peeraddr, sizeof(peeraddr));
    peeraddr.sin_family = AF_INET;
    peeraddr.sin_addr.s_addr = inet_addr(argv[1]); // 字符串  --> 二级制
    peeraddr.sin_port = htons(atoi(argv[2])); // 端口号：16位


    // 3，直接给对方发送UDP消息
    char buf[100];
    while(1)
    {
        bzero(buf, 100);
        fgets(buf, 100, stdin);

        sendto(sockfd, buf, strlen(buf), 0,
               (struct sockaddr *)&peeraddr, sizeof(peeraddr));
    }

    return 0;
}
